function [B] = assemblyBMatrix (x_sample , x_nodes , order, w , poliBaseType)
% Assembly B matrix - DeFaria Thesis 2004
% x_sample : punto 2D en donde quiero evaluar B
% x_nodes  : conjunto de puntos 2D donde evalúo los polinomios base
%
% w: vector de "window functions" del nodo x_sample con respecto a los
% x_nodes

nPt = size ( x_nodes(:,1) );
nPts = nPt(1);

nBaseElements = getPolibaseDimension(order);

P = zeros(nPts,nBaseElements);
%B = zeros(nBaseElements,nPts);
W = zeros(nPts);

for i=1:nPts    
    P(i,:) = poliBase (x_nodes(i,:),order,poliBaseType);
    W(i,i) = w(i);
end

B = W * P;

end
